package com.xiyuan;


import com.xiyuan.smartutils.constants.SysConstants;
import com.xiyuan.smartutils.logging.LogFactory;
import com.xiyuan.smartutils.logging.Logger;

/**
 * 系统工程退出锚，当Runtime捕捉到shutdown时会调用该锚，用于退出清理
 *
 * @version v1.0.0 @author lgz 2017-8-27 新建与整理
 */
final class ShutdownHook extends Thread implements SysConstants {
    private static final Logger log = LogFactory.getLogger(ShutdownHook.class);
    
    public void run() {
        // 1.退出开始日志
        log.info("系统[%s]-版本[%s]正在退出...", Global.getName(), Global.getVersion());
        
        // 2.退出所有服务
        Global.removeServiceAll();
        
        // 3.退出完成日志
        log.info("系统[%s]-版本[%s]退出完成...", Global.getName(), Global.getVersion());
    }
}
